package com.hw.one.dam2.controller;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.fastjson.JSONObject;
import com.hw.one.dam2.common.DataCalculateTypeEnum;
import com.hw.one.dam2.common.DataTypeEnum;
import com.hw.one.dam2.common.ScopeTypeEnum;
import com.hw.one.dam2.common.SiteTypeEnum;

/**
 * 系统定义常量类的值
 * 
 * @author admin
 *
 */
@RestController
@RequestMapping(value = "constantValue")
public class ConstantValueController {

	@RequestMapping(value = "findConstantValue", method = RequestMethod.GET)
	public Model findConstantValue(Model model, HttpServletRequest request) {
		
		// 数据类型
		List<JSONObject> dataList = new ArrayList<JSONObject>();		
		for (DataTypeEnum dataType : DataTypeEnum.values()) {
			JSONObject dataTypeJson = new JSONObject();
			dataTypeJson.put("value", dataType.getValue());
			dataTypeJson.put("name", dataType.getName());
			dataList.add(dataTypeJson);
		}
		JSONObject dataTypeObj = new JSONObject();
		dataTypeObj.put("value", "dataType");
		dataTypeObj.put("name", "数据类型");
		dataTypeObj.put("data", dataList);
		model.addAttribute("dataType", dataTypeObj);
		
		dataList.clear();
		// 点位类型
		for(SiteTypeEnum pointType: SiteTypeEnum.values()){
			JSONObject pointTypeJson = new JSONObject();
			pointTypeJson.put("value", pointType.getValue());
			pointTypeJson.put("name", pointType.getName());
			dataList.add(pointTypeJson);
		}
		JSONObject pointTypeObj = new JSONObject();
		pointTypeObj.put("value", "pointType");
		pointTypeObj.put("name", "点位类型");
		pointTypeObj.put("data", dataList);
		model.addAttribute("pointType", pointTypeObj);
		
		dataList.clear();
		// 数据计算类型
		for(DataCalculateTypeEnum dataCalculateType: DataCalculateTypeEnum.values()){
			JSONObject dataCalculateTypeJson = new JSONObject();
			dataCalculateTypeJson.put("value", dataCalculateType.getValue());
			dataCalculateTypeJson.put("name", dataCalculateType.getName());
			dataList.add(dataCalculateTypeJson);
		}
		JSONObject dataCalculateTypeObj = new JSONObject();
		dataCalculateTypeObj.put("value", "dataCalculateType");
		dataCalculateTypeObj.put("name", "数据计算类型");
		dataCalculateTypeObj.put("data", dataList);
		model.addAttribute("dataCalculateType", dataCalculateTypeObj);
		
		dataList.clear();
		// 区域范围类型
		for(ScopeTypeEnum ScopeType: ScopeTypeEnum.values()){
			JSONObject ScopeTypeJson = new JSONObject();
			ScopeTypeJson.put("value", ScopeType.getValue());
			ScopeTypeJson.put("name", ScopeType.getName());
			dataList.add(ScopeTypeJson);
		}
		JSONObject ScopeTypeObj = new JSONObject();
		ScopeTypeObj.put("value", "ScopeType");
		ScopeTypeObj.put("name", "区域范围类型");
		ScopeTypeObj.put("data", dataList);
		model.addAttribute("ScopeType", ScopeTypeObj);
		
		return model;
	}

}
